import time as time
import random
data_attack_player = []
data_blood_player = []
data_attack_enemy = []
data_blood_enemy = []


# 玩家的攻击手段
class Player:
    # 定义构造函数
    def __init__(self, name, blood, blood_max, attack, defense):
        self.name = name
        self.blood = blood
        self.blood_max = blood_max
        self.attack = attack
        self.defense = defense

    def player_start(self, enemy):
        print("对战开始!")
        time.sleep(2)

        # 出场战吼
        print(self.name, "对着", enemy.name, "吼道：", enemy.name, "！你记好本大侠的名字，死后到阴司去告我一状吧！！")
        time.sleep(2)

    def player_attack_1(self, enemy):
        number_1 = random.randint(0, 17)
        number_2 = random.randint(0, 9)
        blood = enemy.blood

        # 第一招：春风拂人醉
        if number_1 == 0:
            print(self.name, "使一招【春风拂人醉】，手中的宝刀轻飘飘地向", enemy.name, "的身体斩去！")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 1
        # 第二招：远山伴人痴
        elif number_1 == 1:
            print(self.name, "金刃劈风，宝刀随著一招【远山伴人痴】由下而上撩往", enemy.name, "的身体。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 1.2
        # 第三招：飞花逐人香
        elif number_1 == 2:
            print(self.name, "身形一转，一招【飞花逐人香】宝刀刀光不定，斩向", enemy.name, "的身体。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 1.3
        # 第四招：柳叶随人笑
        elif number_1 == 3:
            print(self.name, "舞动宝刀，一招【柳叶随人笑】迅捷无伦地劈向", enemy.name, "的身体。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 1.5
        # 第五招：倩影惹人伶
        elif number_1 == 4:
            print(self.name, "手中宝刀一晃，一招【倩影惹人伶】往", enemy.name, "的身体斜斜砍出一刀。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 1.6

        # 第六招：轻风动人意
        elif number_1 == 5:
            print(self.name, "运一股绵劲于宝刀，缓缓挥出，绵绵若细雨，悄然飘向", enemy.name, "的身体。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 1.7

        # 第七招：彩蝶灼人衣
        elif number_1 == 6:
            print(self.name, "移步侧身，使一招【彩蝶灼人衣】刀光霍霍斩向", enemy.name, "的身体。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 1.8

        # 第八招：柳絮随风散
        elif number_1 == 7:
            print(self.name, "跃至半空，挥刀连斩，激发数道细小刀劲飘向", enemy.name, "。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 2.0

        # 第九招：芦雪碎人影
        elif number_1 == 8:
            print(self.name, "提刀过肩，蓄劲发力，一招【芦雪碎人影】直劈", enemy.name, "的身体。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 2.1

        # 第十招：快意图恩仇
        elif number_1 == 9:
            print(self.name, "使出一招【快意图恩仇】，用手中的宝刀急削", enemy.name, "的五指。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 2.2

        # 第十一招：挥刀斩斜阳
        elif number_1 == 10:
            print(self.name, "收刀回鞘，右手握刀柄，身形半蹲。待劲力精纯，抽刀上斩，激发刚猛刀劲涌向", enemy.name, "。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 2.3

        # 第十二招：春风吹斜柳
        elif number_1 == 11:
            print(self.name, "左踏前一步，一招【春风吹斜柳】，手中的宝刀从侧面飘向", enemy.name, "之必救。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 2.4

        # 第十三招：燕草化碧丝
        elif number_1 == 12:
            print(self.name, "变幻刀势，弃斩为刺，点向", enemy.name, "要穴。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 2.5

        # 第十四招：晚春怜夕阳
        elif number_1 == 13:
            print(self.name, "手中宝刀一抖，挽出一片刀花，一招【春风吹斜柳】，洒向", enemy.name, "的全身。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 2.6

        # 第十五招：早春万物生
        elif number_1 == 14:
            print(self.name, "运转宝刀，抹向", enemy.name, "的下腋，招式未老，变为上斩，划向", enemy.name, "的顶门。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 2.7

        # 第十六招：春眠不知晓
        elif number_1 == 15:
            print(self.name, "微退一步，手中的宝刀划出一条圆弧，一招【春风吹斜柳】，将", enemy.name, "的全身围住。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 2.8

        # 第十七招：春雨润如酥
        elif number_1 == 16:
            print(self.name, "运转劲力，横挥宝刀，激发数道纤细劲力涌向", enemy.name, "周身。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 2.9

        # 第十八招：春风踏马蹄
        elif number_1 == 17:
            print(self.name, "足尖轻点，向", enemy.name, "连续跳跃，每次跳跃都斩出一刀，砍向", enemy.name, "的身体。")

            # 伤害计算公式
            enemy.blood = enemy.blood - self.attack * (1 - enemy.defense / 100) * 3.0

        time.sleep(1)

        # 受击反馈
        if number_2 == 0:
            print("结果【嗤】地一声，在", enemy.name, "身上划出一道伤口！")
        elif number_2 == 1:
            print("结果【嗤】地一声，在", enemy.name, "身上划出一道血淋淋的伤口！")
        elif number_2 == 2:
            print("结果【嗤嗤】地一声，", self.name, "的宝刀刺进了", enemy.name, "的左肩，殷红的鲜血随机喷了出来！")
        elif number_2 == 3:
            print("结果【嗤嗤】地一声，", self.name, "的宝刀刺进了", enemy.name, "的右肩，殷红的鲜血随机喷了出来！")
        elif number_2 == 4:
            print("结果只听见", enemy.name, "一声惨叫，", self.name, "已经在", enemy.name, "左肩划出一道深可见骨的可怕伤口！")
        elif number_2 == 5:
            print("结果只听见", enemy.name, "一声惨叫，", self.name, "已经在", enemy.name, "右肩划出一道深可见骨的可怕伤口！")
        elif number_2 == 6:
            print("结果只听见", enemy.name, "一声惨叫，", self.name, "已经在", enemy.name, "左手划出一道深可见骨的可怕伤口！")
        elif number_2 == 7:
            print("结果只听见", enemy.name, "一声惨叫，", self.name, "已经在", enemy.name, "右手划出一道深可见骨的可怕伤口！")
        elif number_2 == 8:
            print("结果只听见", enemy.name, "一声惨叫，", self.name, "已经在", enemy.name, "前胸划出一道深可见骨的可怕伤口！")
        elif number_2 == 9:
            print("结果只听见", enemy.name, "一声惨叫，", self.name, "已经在", enemy.name, "后心划出一道深可见骨的可怕伤口！")
        time.sleep(1)

        print(self.name, "对", enemy.name, "造成了", blood - enemy.blood, "点伤害")
        time.sleep(1)

        # 状态反馈
        if enemy.blood / enemy.blood_max >= 0.9:
            print("(", enemy.name, "看起来充满活力，一点也不累。)")
        elif enemy.blood / enemy.blood_max >= 0.8:
            print("(", enemy.name, "的动作似乎开始有点不太灵光，但是仍然有条不紊。)")
        elif enemy.blood / enemy.blood_max >= 0.7:
            print("(", enemy.name, "看起来可能有些累了)")
        elif enemy.blood / enemy.blood_max >= 0.6:
            print("(", enemy.name, "气喘吁吁，看起来状况并不太好。)")
        elif enemy.blood / enemy.blood_max >= 0.5:
            print("(", enemy.name, "似乎十分疲惫，看来需要好好休息了。)")
        elif enemy.blood / enemy.blood_max >= 0.4:
            print("(", enemy.name, "似乎十分疲惫，看来需要好好休息了)")
        elif enemy.blood / enemy.blood_max >= 0.3:
            print("(", enemy.name, "已经一副头重脚轻的模样，正在勉力支撑著不倒下去。)")
        elif enemy.blood / enemy.blood_max >= 0.2:
            print("(", enemy.name, "摇头晃脑、歪歪斜斜地站都站不稳，眼看就要倒在地上。)")
        elif enemy.blood / enemy.blood_max > 0:
            print("(", enemy.name, "已近陷入半昏迷状态，随时都有可能摔倒晕去。)")
        else:
            print("(", enemy.name, "体力耗尽，倒在了地上。)")
        if enemy.blood > 0:
            time.sleep(1)

            print(enemy.name, "血量剩余", enemy.blood, "点")
        time.sleep(1)

        # 写入对战数据
        data_attack_player.append(blood - enemy.blood)
        data_blood_enemy.append(enemy.blood)

        return enemy.blood

    # 武技：快意恩仇
    def player_attack_2(self, enemy):
        print("只见", self.name, "哼哈两声,随即刀刃翻转，左右横劈，刀意淋漓畅快、毫无阻滞，意在刀先，意到刀到，活脱脱一副有仇报仇有怨报怨"
                               "、快意恩仇的江湖浪荡儿本色！")
        time.sleep(1)
        print(self.name, "对", enemy.name, "造成了", self.attack * 0.6, "点外功伤害")
        time.sleep(0.5)
        print(self.name, "对", enemy.name, "造成了", self.attack * 0.8, "点外功伤害")
        time.sleep(0.5)
        print(self.name, "对", enemy.name, "造成了", self.attack * 0.4, "点外功伤害")
        time.sleep(0.5)
        print(self.name, "对", enemy.name, "造成了", self.attack * 0.2, "点外功伤害")
        time.sleep(0.5)
        print(self.name, "对", enemy.name, "造成了", self.attack * 1.0, "点外功伤害")
        time.sleep(1)

        enemy.blood = enemy.blood - self.attack * 3.0

        if enemy.blood <= 0:
            print("(", enemy.name, "体力耗尽，倒在了地上。)")
            time.sleep(1)
            print("恭喜少侠，成功战胜了", enemy.name)
        else:
            print(enemy.name, "血量剩余", enemy.blood, "点")
        time.sleep(1)

        # 写入对战数据
        data_attack_player.append(self.attack * 3.0)
        data_blood_enemy.append(enemy.blood)

        return enemy.blood

    # 武技：快刀斩乱麻
    def player_attack_3(self, enemy):
        print(self.name, "使出【快刀斩乱麻】绝技，手中的宝刀狂风骤雨般地向", enemy.name, "卷来！")
        time.sleep(1)

        if self.name >= enemy.name:
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.6, "点外功伤害")
            time.sleep(0.5)
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.8, "点外功伤害")
            time.sleep(0.5)
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.4, "点外功伤害")
            time.sleep(0.5)
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.2, "点外功伤害")
            time.sleep(0.5)
            print(self.name, "对", enemy.name, "造成了", self.attack * 1.0, "点外功伤害")
            time.sleep(1)

            enemy.blood = enemy.blood - self.attack * 3.0

            # 写入对战数据
            data_attack_player.append(self.attack * 3.0)
            data_blood_enemy.append(enemy.blood)

        else:
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.6, "点外功伤害")
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.5, "点外功伤害")
            time.sleep(0.5)
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.8, "点外功伤害")
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.3, "点外功伤害")
            time.sleep(0.5)
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.4, "点外功伤害")
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.6, "点外功伤害")
            time.sleep(0.5)
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.2, "点外功伤害")
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.1, "点外功伤害")
            time.sleep(0.5)
            print(self.name, "对", enemy.name, "造成了", self.attack * 1.0, "点外功伤害")
            print(self.name, "对", enemy.name, "造成了", self.attack * 0.7, "点外功伤害")
            time.sleep(1)

            enemy.blood = enemy.blood - self.attack * 5.0

            # 写入对战数据
            data_attack_player.append(self.attack * 5.0)
            data_blood_enemy.append(enemy.blood)

        if enemy.blood <= 0:
            print("(", enemy.name, "体力耗尽，倒在了地上。)")
            time.sleep(1)
            print("恭喜少侠，成功战胜了", enemy.name)
        else:
            print(enemy.name, "血量剩余", enemy.blood, "点")
        time.sleep(1)

        return enemy.blood


# 敌人的攻击手段
class Enemy:
    # 定义构造函数
    def __init__(self, name, blood, blood_max, attack, defense):
        self.name = name
        self.blood = blood
        self.blood_max = blood_max
        self.attack = attack
        self.defense = defense

    def enemy_attack_1(self, player):
        number_1 = random.randint(0, 7)
        number_2 = random.randint(0, 3)
        blood = player.blood

        # 第一招：开山碎石
        if number_1 == 0:
            print(self.name, "当胸平平刺出一剑，实在是毫无任何变化，而却有轰轰之声，", player.name, "只觉一股大力由宝剑直逼周身。")

            # 伤害计算公式
            player.blood = player.blood - self.attack * (1 - player.defense / 100) * 1.0

        # 第二招：怒海搏涛
        elif number_1 == 1:
            print(self.name, "凌空跃起，身随剑起，借助下行之势向下猛劈一剑，将", player.name, "周身笼于剑气之下。")

            # 伤害计算公式
            player.blood = player.blood - self.attack * (1 - player.defense / 100) * 1.2

        # 第三招：无锋断玉
        elif number_1 == 2:
            print(self.name, "轻叹一声，随手横劈一剑，缓缓指向", player.name, "看似无丝毫变化，却得剑法精髓，当真平淡蕴含所有变化，"
                                                              "无招胜有招")

            # 伤害计算公式
            player.blood = player.blood - self.attack * (1 - player.defense / 100) * 1.4

        # 第四招：磐刚莫形
        elif number_1 == 3:
            print(self.name, "迅速挑出一剑，但见剑势如虹，快似闪电，无可当锋！此剑之快，匪夷所思，无法分辨剑路来去。")

            # 伤害计算公式
            player.blood = player.blood - self.attack * (1 - player.defense / 100) * 1.6

        # 第五招：千斤凌顶
        elif number_1 == 4:
            print(self.name, "仰首长啸，令风云变幻，狂风遽起，旋及一剑平指，剑气弥漫于", player.name, "周身各处，", player.name,
                  "只觉得身处惊涛骇浪之中，惊悚中更觉得", self.name, "剑力有如海潮一般，一波一浪阵阵涌来，绵延不绝，愈发愈强。")

            # 伤害计算公式
            player.blood = player.blood - self.attack * (1 - player.defense / 100) * 1.8

        # 第六招：百尺推涯
        elif number_1 == 5:
            print(self.name, "祭起宝剑，左手捏成剑诀置于胸前，咄喝一声，正是剑法至尊的“御剑式”，空中满是剑影，宛若千道银链，只在",
                  player.name, "身边游动。")

            # 伤害计算公式
            player.blood = player.blood - self.attack * (1 - player.defense / 100) * 2.0

        # 第七招：反璞还空
        elif number_1 == 6:
            print(self.name, "连出十余剑，一时迅疾如流星划空，一时凝重迟缓，招招无迹可寻，平淡至极又匪思至极，顺刺，逆击，横削，倒劈，"
                             "无不是剑法的入门，当真返朴归真，却已不再存在任何破绽。")

            # 伤害计算公式
            player.blood = player.blood - self.attack * (1 - player.defense / 100) * 2.5

        # 第八招：凝刀断水
        elif number_1 == 7:
            print(self.name, "连出十余剑，凝重迟缓，招招角度诡异，攻向", player.name, "不得不防之要害。")

            # 伤害计算公式
            player.blood = player.blood - self.attack * (1 - player.defense / 100) * 3.0

        time.sleep(1)

        # 受击反馈
        if number_2 == 0:
            print("结果【嗤】地一声，在", player.name, "身上划出一道伤口！")
        elif number_2 == 1:
            print("结果【嗤】地一声，在", player.name, "身上划出一道血淋淋的伤口！")
        elif number_2 == 2:
            print("结果【嗤嗤】地一声，", self.name, "的精钢长剑刺进了", player.name, "的左肩，殷红的鲜血随机喷了出来！")
        elif number_2 == 3:
            print("结果【嗤嗤】地一声，", self.name, "的精钢长剑刺进了", player.name, "的右肩，殷红的鲜血随机喷了出来！")
        elif number_2 == 4:
            print("结果只听见", player.name, "一声惨叫，", self.name, "已经在", player.name, "左肩划出一道深可见骨的可怕伤口！")
        elif number_2 == 5:
            print("结果只听见", player.name, "一声惨叫，", self.name, "已经在", player.name, "右肩划出一道深可见骨的可怕伤口！")
        elif number_2 == 6:
            print("结果只听见", player.name, "一声惨叫，", self.name, "已经在", player.name, "左手划出一道深可见骨的可怕伤口！")
        elif number_2 == 7:
            print("结果只听见", player.name, "一声惨叫，", self.name, "已经在", player.name, "右手划出一道深可见骨的可怕伤口！")
        elif number_2 == 8:
            print("结果只听见", player.name, "一声惨叫，", self.name, "已经在", player.name, "前胸划出一道深可见骨的可怕伤口！")
        elif number_2 == 9:
            print("结果只听见", player.name, "一声惨叫，", self.name, "已经在", player.name, "后心划出一道深可见骨的可怕伤口！")
        time.sleep(1)

        print(self.name, "对", player.name, "造成了", blood - player.blood, "点伤害")
        time.sleep(1)

        # 状态反馈
        if player.blood / player.blood_max >= 0.9:
            print("(", player.name, "看起来充满活力，一点也不累。)")
        elif player.blood / player.blood_max >= 0.8:
            print("(", player.name, "的动作似乎开始有点不太灵光，但是仍然有条不紊。)")
        elif player.blood / player.blood_max >= 0.7:
            print("(", player.name, "看起来可能有些累了)")
        elif player.blood / player.blood_max >= 0.6:
            print("(", player.name, "气喘吁吁，看起来状况并不太好。)")
        elif player.blood / player.blood_max >= 0.5:
            print("(", player.name, "似乎十分疲惫，看来需要好好休息了。)")
        elif player.blood / player.blood_max >= 0.4:
            print("(", player.name, "似乎十分疲惫，看来需要好好休息了)")
        elif player.blood / player.blood_max >= 0.3:
            print("(", player.name, "已经一副头重脚轻的模样，正在勉力支撑著不倒下去。)")
        elif player.blood / player.blood_max >= 0.2:
            print("(", player.name, "摇头晃脑、歪歪斜斜地站都站不稳，眼看就要倒在地上。)")
        elif player.blood / player.blood_max > 0:
            print("(", player.name, "已近陷入半昏迷状态，随时都有可能摔倒晕去。)")
        else:
            print("(", player.name, "体力耗尽，倒在了地上。)")
            time.sleep(1)
            print("君子报仇，十年不晚······")
            time.sleep(1)
            print("少侠请重新来过")
            time.sleep(1)
            print("游戏虽能够重来，但少侠的人生却不能重来······")
            time.sleep(1)
            print("所以")
            time.sleep(1)
            print("且行且珍惜······")
        if player.blood > 0:
            time.sleep(1)

            print(player.name, "血量剩余", player.blood)
        time.sleep(1)

        # 写入对战数据
        data_attack_enemy.append(blood - player.blood)
        data_blood_player.append(player.blood)

        return player.blood


# 准备战斗
def fight():
    a = Player("你", 10000, 10000, 1000, 20)
    b = Enemy("蒙面人", 15000, 15000, 1500, 10)

    a.player_start(b)

    while 1:
        print("---------------------------------------------------------------------------------")
        print("你的回合!")
        print("1-发动-“普通攻击”-(输入数字1)-共有十八个招式，随机发动一种招式")
        print("2-发动-武技“快意恩仇”-(输入数字2)-对目标造成一定的外功伤害")
        print("3-发动-武技“快刀斩乱麻”-(输入数字3)-对目标造成一定的外功伤害，若少侠的生命值低于目标的生命值，则会追加一定的外功伤害")
        print("---------------------------------------------------------------------------------")
        print("战场瞬息万变，请少侠不要犹豫!")
        time.sleep(0.5)
        number = int(input("所以，少侠你决定?"))
        print("---------------------------------------------------------------------------------")

        if number == 1:
            print("你决定发动“普通攻击”")
            time.sleep(1)

            b_blood = a.player_attack_1(b)
            if b_blood <= 0:
                break
            time.sleep(1)
            print("---------------------------------------------------------------------------------")
            a_blood = b.enemy_attack_1(a)
            if a_blood <= 0:
                break
            time.sleep(1)
            print("---------------------------------------------------------------------------------")

        elif number == 2:
            print("你决定发动武技“快意恩仇”")
            time.sleep(1)

            b_blood = a.player_attack_2(b)
            if b_blood <= 0:
                break
            time.sleep(1)
            print("---------------------------------------------------------------------------------")
            a_blood = b.enemy_attack_1(a)
            if a_blood <= 0:
                break
            time.sleep(1)
            print("---------------------------------------------------------------------------------")

        elif number == 3:
            print("你决定发动武技“快刀斩乱麻”")
            time.sleep(1)

            b_blood = a.player_attack_3(b)
            if b_blood <= 0:
                break
            time.sleep(1)
            print("---------------------------------------------------------------------------------")
            a_blood = b.enemy_attack_1(a)
            if a_blood <= 0:
                break
            time.sleep(1)
            print("---------------------------------------------------------------------------------")

        else:
            print("---------------------------------------------------------------------------------")
            print("哒咩哟！哒咩哒咩！不要乱输入其它数字哟！")
            print("---------------------------------------------------------------------------------")
            pass


if __name__ == '__main__':
    fight()
    print("---------------------------------------------------------------------------------")
    print("展示战斗数据如下：")
    time.sleep(1)
    print("---------------------------------------------------------------------------------")
    print("玩家造每次成的伤害", data_attack_player)
    time.sleep(1)
    print("玩家每次造成伤害时，敌人剩余的生命值", data_blood_enemy)
    time.sleep(1)
    print("敌人每次造成的伤害", data_attack_enemy)
    time.sleep(1)
    print("敌人每次造成伤害时，玩家剩余的生命值", data_blood_player)
    time.sleep(1)
    print("---------------------------------------------------------------------------------")

    # a = Player("你", 10000, 10000, 1000, 20)
    # b = Enemy("蒙面人", 15000, 15000, 1500, 10)
    #
    # a.player_start(b)
    #
    # while 1:
    #
    #     b_blood = a.player_attack_1(b)
    #     if b_blood <= 0:
    #         break
    #     time.sleep(1)
    #     print("---------------------------------------------------------------------------------")
    #     a_blood = b.enemy_attack_1(a)
    #     if a_blood <= 0:
    #         break
    #     time.sleep(1)
    #     print("---------------------------------------------------------------------------------")
